import http from '../../../utils/https'
// 访客邀请页面逻辑
Page({
  data: {
    visitorInfo: {
      visitName: '',      // 访客姓名
      visitSex: '',       // 访客性别
      visitPhone: '',     // 访客电话
      visitHouse: '',     // 被访业主（对应后端的houseName）
      visitDate: '',      // 访问时间
      visitDuration: ''
    },
    residentId: null      // 登录用户的业主ID
  },

  onLoad: function (options) {
    console.log('访客邀请页面加载');
    // 从独立存储的residentId键获取
    const residentId = wx.getStorageSync('residentId');
    if (residentId) {
      this.setData({
        residentId: Number(residentId) // 转换为数字类型
      });
    } else {
      // 未获取到正确的residentId，提示需要登录或完善信息
      wx.showToast({
        title: '请先完善住户信息',
        icon: 'none'
      });
      // 延迟跳转完善信息页或登录页
      setTimeout(() => {
        wx.navigateTo({
          url: '/pages/complete/complete' // 或登录页
        });
      }, 1500);
    }
  },

  // 输入框内容变更时更新数据
  inputChange(e) {
    const { field } = e.currentTarget.dataset;
    this.setData({
      [`visitorInfo.${field}`]: e.detail.value
    });
  },

  // 提交表单到后端
  async submitForm() {
    const { visitorInfo, residentId } = this.data;
    
    // 补充校验业主ID
    if (residentId === null) {
      wx.showToast({
        title: '用户信息获取失败，请重新登录',
        icon: 'none'
      });
      return;
    }

    // 基础表单校验
    if (!visitorInfo.visitName || !visitorInfo.visitPhone || !visitorInfo.visitDate) {
      wx.showToast({
        title: '请填写必填项',
        icon: 'none'
      });
      return;
    }

    try {
      // 调用封装的post请求，添加residentId字段
      const res = await http.post('property/visitor', {
        visitName: visitorInfo.visitName,
        visitSex: visitorInfo.visitSex,
        visitPhone: visitorInfo.visitPhone,
        visitHouse: visitorInfo.visitHouse,
        visitDate: new Date(visitorInfo.visitDate).toISOString(),
        visitDuration: visitorInfo.visitDuration,
        residentId: residentId  // 传递登录用户的业主ID（外键字段）
      });

      wx.showToast({
        title: '提交成功',
        icon: 'success'
      });
      wx.navigateTo({
        url: '/service/pages/pass/pass'
      });

    } catch (err) {
      wx.showToast({
        title: err.msg || '提交失败',
        icon: 'none'
      });
    }
  }
});